package com.huike.clues.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.huike.common.core.domain.entity.SysMenu;
import org.apache.ibatis.annotations.Select;

import javax.management.relation.Role;

/**
 * 菜单表 数据层
 *
 * 
 */
@Mapper
public interface SysMenuMapper
{
    /**
     * 根据用户ID查询权限
     *
     * @param userId 用户ID
     * @return 权限列表
     */
    public List<String> selectMenuPermsByUserId(Long userId);

    /**
     * 根据用户ID查询菜单
     *
     * @return 菜单列表
     */
    public List<SysMenu> selectMenuTreeAll();

    /**
     * 根据用户ID查询菜单
     *
     * @param userId 用户ID
     * @return 菜单列表
     */
    public List<SysMenu> selectMenuTreeByUserId(Long userId);

    List<SysMenu> list(SysMenu sysMenu);

//    void menuChildrenInsert(List<SysMenu> children);

    void insertMenu(SysMenu sysMenu);

    SysMenu selectBymenuId(Integer menuId);

    void updateMenu(SysMenu menu);

    void menuDelete(Integer parentId);


    Integer countparentId(Integer menuId);
    @Select("select menu_id from sys_role_menu where menu_id=#{menuId}")
    List<Integer> findRoleMenus(Long menuId);
@Select("select *  from sys_menu  ")
    List<SysMenu> lists();

    List<Integer> memuRoleSelect(Integer menuId);
}
